home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
F-French
/
(c)f1.d64
/
poker-patie
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
3KB
|
117 lines
10 REM POKER-PATIENCE
15 CLR
100 REM PREPARATION DU JEU
110 PRINT"[147]"
120 PRINTTAB(11)"[207][208] [207][208][167] [206] [207][163] [207][208]"
130 PRINTTAB(11)"[204][186] [165][167][167][206] [207] [204][186]"
140 PRINTTAB(11)"[165] [204][186][167][163][205] [204][164] [165][205]"
150 PRINTTAB(8)"[207][208] [207][208] [208][163][167] [207][163][167][205] [165][207][163] [207][163]"
160 PRINTTAB(8)"[204][186] [207][208] [167] [167] [207] [167] [205][165][165][160][160][207]"
170 PRINTTAB(8)"[165] [165][167] [167][160][167][160][204][164][167] [165][204][164] [204][164]"
200 L=0:C=0
210 DEFFNV(I)=I-13*INT(I/13)
220 DEFFNC(I)=INT(I/13)
230 DIMC(51):FORI=0TO51:C(I)=I:NEXT
240 DIMT(6,6)
250 V$="2345678910VDRA":C$="[216][218][211][193]"
260 I$="[207][163][208][157][157][157][165][160][167][157][157][157][165] [167][157][157][157][204][164][186][157][157][157][145][145][145]"
270 T$=" [157][157][157] [157][157][157] [157][157][157] [145][145][157][157][157]"
280 B$="":D$="[166][166][166][157][157][157][166][166][166][157][157][157][166][166][166][157][157][157][166][166][166]"
290 CL$="* "
300 DIMH(12),D(5),F$(8),F(8)
310 FORI=0TO8:READF$(I),F(I):NEXT
320 DATARIEN,0,PAIRE,1,DEUX PAIRES,3,BRELAN,5,QUINTE,4,COULEUR,10
330 DATAFULL,12,CARRE,25,QUINTE FLOCHE,50
340 GOSUB8020
1000 REMPREPARATION DE LA PARTIE
1010 PRINT"[147]";:FORI=1TO25
1020 IF(I-1)/5=INT((I-1)/5)THENPRINTTAB(18)
1030 PRINTI$""RIGHT$("0"+MID$(STR$(I),2),2)"[146]";
1040 IFI<21ANDI/5=INT(I/5)THENPRINT""
1050 NEXT
1060 PRINT""TAB(5)D$
1100 FORI=0TO6:FORJ=0TO6:T(I,J)=-1:NEXT:NEXT
1110 R=RND(-RND(0)):FORI=0TO51:R=52*RND(1):C=C(R):C(R)=C(I):C(I)=C:NEXT
2000 REM PARTIE
2004 PRINT""TAB(5)D$:F=-1
2010 FORT=0TO24
2020 R=C(T):PRINT""TAB(5)T$MID$(V$,2*FNV(R)+1,2)"[157]"MID$(C$,FNC(R)+1,1):GOTO2040
2030 PRINT" ??":GOSUB8020
2040 PRINTLEFT$(B$,11)TAB(5)": [157][157][157][157][157]";
2050 GOSUB9000:IFR$<"0"ORR$>"9"THEN2050
2060 PRINTR$;:M$=R$
2070 GOSUB9000:IFASC(R$)=20THEN2040
2080 IFASC(R$)=13THEN2110
2090 IFR$<"0"ORR$>"9"THEN2070
2100 PRINTR$;:M$=M$+R$
2110 M=VAL(M$):IFM<1ORM>25THEN2030
2120 L=INT((M-1)/5)+1:C=M-5*(L-1)
2130 IFT(L,C)>=0THEN2030
2135 IFFTHENF=0:GOTO2160
2140 FORI=L-1TOL+1:FORJ=C-1TOC+1:IFT(I,J)>=0THEN2160
2150 NEXT:NEXT:GOTO2030
2160 T(L,C)=R:PRINT""TAB(5)D$
2170 PRINTLEFT$(B$,5*(L-1)+1)TAB(18+4*(C-1))T$;
2180 PRINTMID$(V$,2*FNV(R)+1,2)"[157]"MID$(C$,FNC(R)+1,1):GOSUB8002
2190 NEXTT
3000 REM FIN DE PARTIE:SCORE
3010 PRINT" [157][157][157] [157][157][157] [157][157][157] [157][157][157] "
3020 PRINT" "
3030 S=0:FORL=1TO5
3040 FORI=1TO5:D(I)=T(L,I):NEXT
3050 PRINT"L"MID$(STR$(L),2)":";
3060 GOSUB4000
3070 NEXTL:PRINT
3080 FORC=1TO5
3090 FORI=1TO5:D(I)=T(I,C):NEXT
3100 PRINT"C"MID$(STR$(C),2)":";
3110 GOSUB4000
3120 NEXTC:PRINT"TOTAL:"S
3130 PA=PA+1:SA=SA+S:SM=INT(100*SA/PA)/100:IFPA=1THEN3200
3140 PRINT"APRES"PA"PARTIES":PRINT"MOYENNE:"SM
3200 PRINT"ON CONTINUE ? ";
3210 GOSUB9000:IFR$="O"THENPRINT"OUI":GOSUB8010:GOTO1000
3220 IFR$<>"N"THEN3210
3230 PRINT"NON"
3240 FORI=1TO1000:NEXT:END
3250 GOTO1000
4000 REM CALCUL DU SCORE
4010 F=0:FORI=0TO12:H(I)=0:NEXT
4020 REM CARTES DE MEME VALEUR
4030 FORI=1TO5:VA=FNV(D(I)):H(VA)=H(VA)+1:NEXT
4040 H1=H(0):V1=0:FORI=1TO12:IFH(I)>H1THENH1=H(I):V1=I
4050 NEXT:H(V1)=1
4060 H2=H(0):V2=0:FORI=1TO12:IFH(I)>H2THENH2=H(I):V2=I
4070 NEXT
4100 IFH1=1THEN4200
4110 IFH2=1THEN4150
4120 IFH1=2THENF=2:GOTO4500:REM 2 PAIRES
4130 F=6:GOTO4500:REM FULL
4150 IFH1=2THENF=1:GOTO4500:REM PAIRE
4160 IFH1=3THENF=3:GOTO4500:REM BRELAN
4170 F=7:GOTO4500:REM CARRE
4200 REM QUINTE
4210 FORI=0TO8
4220 FORJ=ITOI+4:IFH(J)=0THEN4240
4230 NEXT:F=4:GOTO4300
4240 NEXTI
4300 REM COULEUR
4310 FC=5:C1=FNC(D(1)):FORI=2TO5:IFFNC(D(I))<>C1THENFC=0
4320 NEXT
4400 IFF=4ANDFC=5THENF=8:GOTO4500:REM QUINTE FLOCHE
4410 IFFC>0THENF=FC
4500 S=S+F(F):PRINTF$(F)TAB(15)RIGHT$(" "+MID$(STR$(F(F)),2),2)
4510 RETURN
8002 TD=2:GOTO8100
8005 TD=5:GOTO8100
8010 TD=10:GOTO8100
8020 TD=20:GOTO8100
8100 TE=TI+6*TD
8110 IFTI<TETHEN8110
8120 RETURN
9000 CL=0:PRINT"*[157]";
9010 TE=TI+20
9020 GETR$:IFR$<>""THENPRINT" [157]";:RETURN
9030 IFTI<TETHEN9020
9040 CL=ABS(CL-1):PRINTMID$(CL$,CL+1,1)"[157]";:GOTO9010